CLOS Eiffel and Sather: A Comparison

نویسندگان

  • C. Chambers
  • D. Ungar
چکیده

data types, inheritance, dynamic binding and garbage collection. bstract data types provide encapsulation and inheritance eases reuse. Both promote extensibility and modi ability. These two requirements seem widely accepted and we will not address them further. ynamic binding of functions to function names is one key to the exibility and extensibility of object-oriented languages. It allows new code to be called from unaltered old code by passing data of new types to old operations or assigning them to old variables. It is implemented by dynamic dispatch in which run-time type information is used to lookup, or bind to, the proper function. Lisp-machine operating systems typically have over 2000 classes and Smalltalk systems have about 1000. These systems have evolved over fteen years and rely on incremental compilation and dynamic dispatch to allow extensions and reuse of the existing class hierarchies while the system is running. Dynamic dispatch makes

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Sather Language and Libraries

Sather is an object-oriented language derived from Eiffel which is particularly well suited for the needs of scientific research groups. It is designed to be very efficient and simple while supporting strong typing, garbage collection, object-oriented dispatch, multiple inheritance, parameterized types, and a clean syntax:. It compiles into portable C code and easily links with existing C code....

متن کامل

Import is Not Inheritance - Why We Need Both: Modules and Classes

The design of many popular object-oriented languages like Smalltalk, Eiffel, or Sather follows a certain trend: The class is the only structuring form. In this paper, the need for having modules besides classes is claimed. Modules stem from a different language family and at first glance it seems that they can easily be unified with classes. Among other things, unifying modules and classes carr...

متن کامل

Nested Types

We currently see a convergence of module systems and type systems for object-oriented programming. This convergence is driven by the demands of large scale component systems. Objectoriented languages for medium-scale systems such as Eiffel or Sather still worked with an unstructured set of classes, but as systems grow this becomes less practical. Consequently, more recent languages such as Beta...

متن کامل

A Proposal for Harmonising Types, Inheritance and Polymorphism for Object-oriented Programming

Object-Oriented Programming (OOP) has attracted a large following in recent years. Goals for the paradigm have included bringing computational implementations closer to abstractions (the HCI school, exemplified by Smalltalk []), partitioning spaces of concepts (the AI school, exemplified by CLOS []) and software engineering for reuse and extensibility (the SE school, exemplified by Eiffel []). ...

متن کامل

Getting Class Correctness and System Correctness Equivalent (How to get covariance right)

Covariant typing policies, as they are available in Eiffel or Sather, result in a type system in which the correct typing of a system is not implied by the correct typing of each class. This hinders a secure, incremental development of class libraries in these object-oriented languages. Classes which are added to a library may invalidate others that are already in the library. The paper shows h...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1991